/*这道题我个人感觉考察的是指针动态分配内存
这道题很明显你不指针内存分配也完全没有问题，但是你得会动态分配
其他的思路逻辑都是简单加减法级别的思路了*/
#include<iostream>
using namespace std;
int main()
{
    int time;
    cin>>time;
    while (time--)
    {
        char leix;
        int arraysize;
        cin>>leix>>arraysize;
        if(leix=='C')
        {
            char* array;
            array=new char[arraysize];
            char* point=array;
            char* maxpoint=array;
            for(int i=0;i<arraysize;i++)
            {
                cin>>*point;
                if(i!=0 && *maxpoint<*point)
                {
                    *maxpoint=*point;
                }
                point++;
            }
            cout<<*maxpoint<<endl;
            delete[] array;
        }
        else if(leix=='I')
        {
            int* array;
            array=new int[arraysize];
            int* point=array;
            int sum=0;
            for(int i=0;i<arraysize;i++)
            {
                cin>>*point;
                sum+=*point;
                point++;
            }
            cout<<(sum/arraysize)<<endl;
            delete[] array;
        }
        else if(leix=='F')
        {
            double* array;
            array=new double[arraysize];
            double* point=array;
            double* minpoint=array;
            for(int i=0;i<arraysize;i++)
            {
                cin>>*point;
                if(i!=0 && *minpoint>*point)
                {
                    *minpoint=*point;
                }
                point++;
            }
            cout<<*minpoint<<endl;
            delete[] array;
        }
    }
    return 0;
}